/**
 * 全局配置信息
 * @version 1.0.0
 */
class EsConfig {
    // 注意：ES6明确规定，Class内部只有静态方法，没有静态属性。所以要把静态属性改为静态方法。ES7 才支持静态属性，可用 babel 编译。
    // 推广渠道标识
    static channelName = "";
    // 应用市场标识 wxmp=微信小程序, app=应用APP, h5=H5应用, huawei,xiaomi,vivo,oppo
    static appMarket = "h5";
    // 登录接口提供商 weixin=App微信登录, wxmp=微信小程序登录,mobile=手机号登录, test=模拟测试登录
    static loginProvider = "mobile";
    // 是否微信小程序环境
    static isEnvOfWeixinMP = false;
    // 是否 APP 环境（HTML5 Plus）
    static isEnvOfPlus = false;
    // 是否 H5 环境
    static isEnvOfH5 = true;
    // 是否显示电池占位区（微信小程序不用，APP和H5需要）
    static showTopStatusBar = true;
    // 登录会话缓存名称
    static loginSessName = "sessinfo"; // token
    // 开发服务器域名（用于在线图片）
    static domain = "http://abc.lh/";
    // static domain = "http://tvadmin.lh/";
    // 开发服务器接口地址
    static apiBaseUrl = "http://abc.lh/index.php";
    // static apiBaseUrl = "http://tvadmin.lh/index.php";
    // 默认头像图标
    static defaultAvatarIcon = "/static/images/default.png";
    // 支付宝支付名称 alipay=支付宝App支付,alipayh5=支付宝H5支付
    static payNameOfAlipay = "alipayh5";
    // 微信支付名称 wxpay=微信App支付, wxpaymp=微信小程序支付, wxpayh5=微信H5支付
    static payNameOfWxpay = "wxpayh5";
    // 支付间隔时间
    static payInterval = 10;
    // 短信发送间隔时间（秒）
    static smsInterval = 30;
    // 短信测试验证码（超级验证码）
    static smsTestingCaptcha = "0609";
    // 是否使用模拟数据（Mock.js）
    static isMockData = false;
    // http请求超时时间（毫秒）
    static httpTimeout = 60000;

    /**
     * 设置资源URL地址（切换本地路径为远程路径）
     * @example setResourceUrl('/uploads/2021/1119/d3974335bb7fc1ebe065f3c5c0dfa84f.png')
     * @example setResourceUrl('/static/h5app/images/icon.png')
     */
    static setResourceUrl(path) {
        if (!path) {
            return '';
        }
        if (path.indexOf("/static/" == 0)) {
            // return path;
        }
        return path.indexOf('http') == 0 ? path : (EsConfig.domain + path);
    }

    /**
     * 返回可用的头像地址
     */
    static getAvatarImage(path) {
        if (!path || path.trim().length == 0) {
            return EsConfig.defaultAvatarIcon;
        }
        return EsConfig.setResourceUrl(path);
    }

    /**
     * 解析 Laravel 服务端的表单校验消息
     */
    static parseValidateMessageOfLaravel(message) {
        if (typeof message == "object") {
            let messageArr = [];
            for (let k in message) {
                message[k].forEach((text) => {
                    messageArr.push(text);
                });
            }
            message = messageArr.join("<br />");
        }
        return message;
    }
}